//*********************************************************
//
// Copyright (c) Microsoft. All rights reserved.
// This code is licensed under the MIT License (MIT).
// THE SOFTWARE IS PROVIDED ?AS IS?, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
// THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//*********************************************************

#pragma once
#include "pch.h"

namespace winrt::DynamicRefreshRateTool {

	class RefreshRateLogger {
	public:
		RefreshRateLogger(std::wstring folderPath);

		~RefreshRateLogger();

		void BoostStateChanged(bool enabled);

	private:

		void WriteLog(std::string message);

		std::ofstream m_out;
		std::mutex m_mutex;

		bool m_stop = false;
		std::future<void> m_loggerFuture;
	};

}
